git cherry-pick
別branchで進んでいる1つのcommitを、今のbranchに持ってこれる
mergeの1commit版みたいなイメージ
複数のcommitをcherry-pickする
A,B,C,Dと続いているcommitの、B,C,Dをcherry-pickしたいときは以下のように書く
$ git cherry-pick B~..D
code:git
// これを
$ git cherry-pick B
$ git cherry-pick C
$ git cherry-pick D
// こう書ける
$ git cherry-pick B~..D
gitの~
注意点
~を使わずに、$ git cherry-pick B..Dと書いた場合、C,Dのみがcherry-pickされる
!を使わない場合は、「一つ手前のcommit」を指定しないといけない
例えば上記の例で言うと以下の2つは同じ
$ git cherry-pick A..D
$ git cherry-pick B~..D
罠すぎmrsekut.icon
usecases
branch切るのを忘れてcommitしていたときの対処
参考
複数のコミットを一括でcherry-pickする - Qiita
https://coliss.com/articles/build-websites/operation/work/useful-git-commands-visualized.html
https://zenn.dev/noraworld/articles/cherry-pick-operation